cmake_minimum_required(VERSION 3.20)
project(mymuduo)

# 禁止在源代码目录内构建
if (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)
    message(FATAL_ERROR "禁止在源代码目录内构建！请创建 build 子目录并在其中执行 cmake ..")
endif()

# 编译选项：启用调试信息、C++11 标准、支持位置无关代码（动态库需要）
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -std=c++11 -fPIC")


#定义编译选项 ：LOCAL_BUILD (默认关闭，即系统分支）
option(LOCAL_BUILD "Enable local build settings" OFF)

if(LOCAL_BUILD)
    # 动态库输出路径（放在项目根目录的 lib 文件夹）
    set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

    # 收集当前目录下的所有源文件（用于编译自定义动态库 mymuduo）
    aux_source_directory(. SRC_LIST)
    add_library(mymuduo SHARED ${SRC_LIST}
            timer.h)#还有else(),elseif()
endif ()